Auto merge of #2026 - alexcrichton:cargo-install, r=brson
authorbors <bors@rust-lang.org>
Mon, 19 Oct 2015 04:44:21 +0000 (04:44 +0000)
committerbors <bors@rust-lang.org>
Mon, 19 Oct 2015 04:44:21 +0000 (04:44 +0000)
commit1206e5ebb8b3c31b6107bff349cb992d94136277
tree39293b1171c85342b3329112841308203ef5b1a6
parent1a6d6c4b70bfdf1192f9407d51ed9c48fa6cacbe
parentbc60f64b13d267dcc3b4c0194944a678182a610e
Auto merge of #2026 - alexcrichton:cargo-install, r=brson

This commit is an implementation of [RFC 1200][rfc] which brings two new
subcommands: `cargo install` and `cargo uninstall`. Most of this is a straight
implementation of the RFC, but a few tweaks were made:

* The `-p` or `--package` arguments are no longer needed as you just pass
  `crate` as a bare argument to the command, this means `cargo install foo`
  works and downloads from crates.io by default.
* Some logic around selecting which crate in a multi-crate repo is installed has
  been tweaked slightly, but mostly in the realm of "let's do the thing that
  makes sense" rather than the literal "let's do what's in the RFC".
  Specifically, we don't pick a crate with examples if there are multiple crates
  with binaries (instead an error is generated saying there are multiple binary
  crates).

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1200-cargo-install.md